(function(){
	var crypto = require("crypto");
	function md5(str) {
		var md5sum = crypto.createHash('md5');
		md5sum.update(str);
		str = md5sum.digest('hex');
		return str;
	};
	//通用密码的加密算法，基于MD5
	function _build_2_md5(pwd_str){
		//固定字符串
		var _key = "Gaubee";
		//初次不可逆加密
		var md5Hax = md5(pwd_str);
		//双倍长度混合固定字符串再次加密，MD5暴力破解库与密码无法对应
		md5Hax = md5(md5Hax+md5Hax+_key);
		//最后一次加密，双倍MD5长度，64位，不知道算法细节的人完全无法使用正常MD5库进行暴力破解
		var result = md5Hax+md5(md5Hax+pwd_str);
		return result;
	}
	module.exports = {
		md5_2:_build_2_md5,
		md5:md5
	};
}());